App DocumentObject/ru

Введение

Объект App DocumentObject, или формально App::DocumentObject, это базовый класс всех классов объектов, поддерживаемых в документе.

В общих словах, "DocumentObject" это любая "вещь", которая может появиться в Дереве проекта, и которая сохраняется или восстанавливается при открытии документа.

Дерево проекта, показывающее различные объекты в документе. Каждый из них является «объектом документа», в конечном итоге производным от базового класса App::DocumentObject.

Упрощённая схема взаимосвязей между основными объектами в FreeCAD

Применение

App DocumentObject - это внутренний класс, поэтому его нельзя создать из графического интерфейса, и он не предназначен для самостоятельного использования. Он лишь определяет базовое поведение и свойства всех объектов в программе.

Ниже приведены некоторые из наиболее важных объектов DocumentObjects:

Свойства

Все типы свойств, которыми могут обладать объекты скриптов, смотри в разделе Свойства.

See Part Feature for an explanation of the properties listed below.

Data

Base

  • ДанныеLabel (Ярлык) (String (Строка)): редактируемое пользователем имя этого объекта представляет собой произвольную строку UTF8. По умолчанию оно совпадает с Name.
  • ДанныеLabel2 (Ярлык2) (String (Строка)): более длинное, редактируемое пользователем описание этого объекта представляет собой произвольную строку UTF8, которая может включать переход на новую строку. По умолчанию это пустая строка "".
  • ДанныеExpression Engine (Движок для выражений) (ExpressionEngine): список выражений.
  • ДанныеVisibility (Видимость) (Bool (Булево)): отображать объект или нет.

Написание скриптов

Общие сведения о добавлении объектов в документ смотри в разделе Конструктивный элемент верстака Part.

Объект DocumentObject создаётся с помощью метода документа addObject(). Однако, как правило, нет необходимости создавать этот объект вручную. Обычно лучше подклассифицировать один из более сложных классов, например, App FeaturePython (ЭлементPython), App GeoFeature (ГеоЭлемент), Part Feature (Конструктивный элемент), Part Part2DObject (Деталь2DОбъект) и т.д.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObject", "Name")
obj.Label = "Custom label"